/**
 * 版权所有（c）2021. 上海海鼎信息工程股份有限公司，保留所有权利
 */
package com.lovely602.design.behavior.memento;

/**
 * 备忘录模式
 *
 * @author lizhixing
 */
public class MementoPattern {
  public static void main(String[] args) {
    Originator or = new Originator();
    Caretaker cr = new Caretaker();
    or.setState("S0");
    System.out.println("初始状态:" + or.getState());
    //保存状态
    cr.setMemento(or.createMemento());
    or.setState("S1");
    System.out.println("新的状态:" + or.getState());
    //恢复状态
    or.restoreMemento(cr.getMemento());
    System.out.println("恢复状态:" + or.getState());
  }
}
